A tool for design pattern detection and software architecture reconstruction
نویسندگان
چکیده
It is well known that software maintenance and evolution are expensive activities, both in terms of invested time and money. Reverse engineering activities support the obtainment of abstractions and views from a target system that should help the engineers to maintain, evolve and eventually re-engineer it. Two important tasks pursued by reverse engineering are design pattern detection and software architecture reconstruction, whose main objectives are the identification of the design patterns that have been used in the implementation of a system as well as the generation of views placed at different levels of abstractions, that let the practitioners focus on the overall architecture of the system without minding at the programming details it has been implemented with. In this context we propose an Eclipse plug-in called MARPLE (Metrics and Architecture Reconstruction Plug-in for Eclipse), which supports both the detection of design patterns and software architecture reconstruction activities through the use of basic elements and metrics that are mechanically extracted from source code. The development of this platform is mainly based on the exploitation of the Eclipse framework and plug-ins as well as of different Java libraries for data access and graph management and visualization.
منابع مشابه
A Meta-study of Architectural Design Processes in Post-disaster Housing Reconstruction in Iran
Background and objective Despite conducting numerous studies in the two areas of “architectural design process” and “post-disaster housing reconstruction” in recent years in Iran, limited studies have been conducted for the meta-study of these two areas. Therefore, to redefine the “post-disaster housing reconstruction” and strengthen the common theoretical foundations, the current study aims to...
متن کاملCustomizable feature based design pattern recognition integrating multiple techniques
factory, Adapter, Builder, Command, Composite, Decorator, Factory method, Observer, Prototype, Singleton, State, Strategy, Template method, and Visitor patterns. The approach focuses on reducing search space, but it may return large number of false positives when certain roles are removed for detecting patterns. Arceli et al. [46] have presented a design pattern detection approach which is base...
متن کاملA Software Architecture Reconstruction Method
Changes to a software system during implementation and maintenance can cause the architecture of a system to deviate from its documented architecture. If design documents are to be useful, maintenance programmers must be able to easily evaluate how closely the documents conform to the code they are meant to describe. Software architecture recovery, which deals with the extraction and analysis o...
متن کاملArchitecture-Centric Software Evolution by Software Metrics and Design Patterns
It is shown how software metrics and architectural patterns can be used for the management of software evolution. In the presented architecture-centric software evolution method the quality of a software system is assured in the software design phase by computing various kinds of design metrics from the system architecture, by automatically exploring instances of design patterns and anti-patter...
متن کاملSPQR: Formalized Design Pattern Detection and Software Architecture Analysis
We present formal analysis methods and results from SPQR, the System for Pattern Query and Recognition, a toolkit that detects instances of known design patterns directly from object-oriented source code in an automated and flexible manner. Based on previous work in rhocalculus (extended Abadi/Cardelli sigma-calculus) and Pattern/Object Markup Language (POML), the SPQR toolset is easily retarge...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Inf. Sci.
دوره 181 شماره
صفحات -
تاریخ انتشار 2011